package com.siss.tenancy.vo;

import java.util.List;
import java.util.Map;
import java.util.Objects;

/**
 * <p>
 * 类名: EleTreeVo
 * </p>
 * <p>
 * 描述:layui-eletree树形结构，用于生成layui树形
 * </p>
 * <p>
 * 创建人: wangxj
 * </p>
 * <p>
 * 创建时间: 2018/9/27 18:15
 * </p>
 * <p>
 * 
 * @version 2.0
 * </p>
 * <p>
 * 修改内容: ......
 * </p>
 * <p>
 * 修改说明: ......
 * </p>
 * <p>
 * 修改时间: ......
 * </p>
 * <p>
 * 修改人: ......
 * </p>
 * <p>
 * 每次修改，请增加上述修改信息说明</>
 */
public class EleTreeVo {
    /** 节点标识 */
    private String id;
    /** 节点名称 */
    private String label;
    /** 是否选中 */
    private Boolean checked;
    /** 是否展开子项 */
    private Boolean spread;
    /** 是否禁用 */
    private Boolean disabled;
    /** 节点级别 */
    private int nodeLevel;
    /** 子节点数量 */
    private int childrenSize;
    /** 子元素数组 */
    private List<EleTreeVo> children;

    /** 所属人员 */
    private List<Map<String, Object>> personList;

    /** 部门领导 */
    private Object deptLeaderInfo;

    /** 组织类型 */
    private Map<String,Object> orgTypeMap;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public Boolean getChecked() {
        return checked;
    }

    public void setChecked(Boolean checked) {
        this.checked = checked;
    }

    public Boolean getSpread() {
        return spread;
    }

    public void setSpread(Boolean spread) {
        this.spread = spread;
    }

    public Boolean getDisabled() {
        return disabled;
    }

    public void setDisabled(Boolean disabled) {
        this.disabled = disabled;
    }

    public int getNodeLevel() {
        return nodeLevel;
    }

    public void setNodeLevel(int nodeLevel) {
        this.nodeLevel = nodeLevel;
    }

    public int getChildrenSize() {
        return childrenSize;
    }

    public void setChildrenSize(int childrenSize) {
        this.childrenSize = childrenSize;
    }

    public List<EleTreeVo> getChildren() {
        return children;
    }

    public void setChildren(List<EleTreeVo> children) {
        this.children = children;
    }

    public EleTreeVo() {
    }

    public EleTreeVo(String id, String label, Boolean checked, Boolean spread, Boolean disabled, int nodeLevel,
            int childrenSize, List<EleTreeVo> children) {
        this.id = id;
        this.label = label;
        this.checked = checked;
        this.spread = spread;
        this.disabled = disabled;
        this.nodeLevel = nodeLevel;
        this.childrenSize = childrenSize;
        this.children = children;
    }

    @Override
    public String toString() {
        return "EleTreeVo{" + "id='" + id + '\'' + ", label='" + label + '\'' + ", checked=" + checked + ", spread="
                + spread + ", disabled=" + disabled + ", nodeLevel=" + nodeLevel + ", childrenSize=" + childrenSize
                + ", children=" + children + '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o)
            return true;
        if (!(o instanceof EleTreeVo))
            return false;
        EleTreeVo eleTreeVo = (EleTreeVo) o;
        return Objects.equals(getId(), eleTreeVo.getId());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getId());
    }

    public List<Map<String, Object>> getPersonList() {
        return personList;
    }

    public void setPersonList(List<Map<String, Object>> personList) {
        this.personList = personList;
    }

    public Object getDeptLeaderInfo() {
        return deptLeaderInfo;
    }

    public void setDeptLeaderInfo(Object deptLeaderInfo) {
        this.deptLeaderInfo = deptLeaderInfo;
    }

    public Map<String, Object> getOrgTypeMap() {
        return orgTypeMap;
    }

    public void setOrgTypeMap(Map<String, Object> orgTypeMap) {
        this.orgTypeMap = orgTypeMap;
    }
}
